package main

import "fmt"

func main() {

	// var c1 = 'a'
	// var c2 byte = 'a'
	// var c3 rune = 'a'
	// fmt.Printf("%v - %c - %T\n", c1, c1, c1)
	// fmt.Printf("%v - %c - %T\n", c2, c2, c2)
	// fmt.Printf("%v - %c - %T\n", c3, c3, c3)

	// var cn1 = '国'
	// // var cn2 byte = '国'		// 溢出
	// var cn3 rune = '国'
	// fmt.Printf("%v - %c - %T\n", cn1, cn1, cn1)
	// // fmt.Printf("%v - %c - %T\n", c2, c2, c2)
	// fmt.Printf("%v - %c - %T\n", cn3, cn3, cn3)

	// str1 := "国jia"
	// for i:=0;i<len(str1);i++ {				// len 等同于分割成一个个byte类型
	// 	fmt.Printf("%v - %c - %T\n", str1[i], str1[i], str1[i])
	// }

	// str1 := "国jia"
	// for i, r := range str1 {				// range 等同于分割成一个个rune类型
	// 	fmt.Printf("%v %v - %c - %T\n", i, r, r, r)
	// }
	// rune: 字母1个字节，汉字3个字节，可处理utf8和ASCII
	// byte: 字母汉字都取1字节大小，所以汉字会乱码，主要处理ASCII

	// // 字符串修改
	// str1 := "big"
	// byteArr := []byte(str1)
	// byteArr[0] = 'p'
	// str1 = string(byteArr)
	// fmt.Println(str1)

	// str2 := "国jia"
	// runeArr := []rune(str2)
	// runeArr[1] = '家'
	// str2 = string(runeArr)
	// fmt.Println(str2)

	var c2 rune = 'z'
	fmt.Println(c2 - 97)
}
